home *** CD-ROM | disk | FTP | other *** search
/ Champak 132 (Alt) / Vol 132.iso / games / nameless.swf / scripts / DefineSprite_3243 / frame_1 / DoAction.as
Encoding:
Text File  |  2011-06-09  |  6.6 KB  |  284 lines

  1. if(!setVars)
  2. {
  3.    var moveSpeed = 3;
  4.    var addSpeed = 0.5;
  5.    var gravity = 0;
  6.    var maxGravity = 8;
  7.    var airSpeed = 0.5;
  8.    var active = false;
  9.    var xTar = 0;
  10.    xscale = _xscale;
  11.    var attacking = false;
  12.    var hitSound = new Sound();
  13.    var die = false;
  14.    hitSound.attachSound("punch5");
  15.    var removeNum = 100;
  16.    var melt = false;
  17.    var startX = _X;
  18.    var startY = _Y;
  19.    var bat = false;
  20.    var health = 2;
  21.    var mNum = 0;
  22.    var setVars = true;
  23. }
  24. stop();
  25. var getFrame = function()
  26. {
  27.    if(die == true)
  28.    {
  29.       frame = "die";
  30.    }
  31.    else if(melt == true)
  32.    {
  33.       frame = "melt";
  34.    }
  35.    else if(bat == true)
  36.    {
  37.       frame = "hit";
  38.    }
  39.    else if(running == false && attacking == false && falling == false)
  40.    {
  41.       frame = "stand";
  42.    }
  43.    else if(falling == true)
  44.    {
  45.       frame = "stand";
  46.    }
  47.    else if(running == true)
  48.    {
  49.       frame = "run";
  50.    }
  51.    else if(attacking == true)
  52.    {
  53.       frame = "attack";
  54.       g.stop();
  55.    }
  56.    gotoAndStop(frame);
  57. };
  58. var onEnterFrame = function()
  59. {
  60.    _root.checkVis(this);
  61.    if(_root.remake == true)
  62.    {
  63.       die = false;
  64.       melt = false;
  65.       removeNum = 100;
  66.       _X = startX;
  67.       _Y = startY;
  68.       active = false;
  69.       bat = false;
  70.       _visible = true;
  71.       _alpha = 100;
  72.       health = 2;
  73.    }
  74.    if(_root.pauseMode == false)
  75.    {
  76.       if(active == true)
  77.       {
  78.          if(die == true && dropped == false)
  79.          {
  80.             if(_root.health < 100)
  81.             {
  82.                dropNum = random(3);
  83.                if(dropNum == 1)
  84.                {
  85.                   _root.dropNum += 1;
  86.                   _root.attachMovie("healthbox","healthbox" + _root.dropNum,_root.dropNum);
  87.                   eval("_root.healthbox" + _root.dropNum)._x = _X;
  88.                   eval("_root.healthbox" + _root.dropNum)._y = _Y;
  89.                }
  90.             }
  91.             dropped = true;
  92.          }
  93.          if(die == false && melt == false && bat == false)
  94.          {
  95.             if(_root.candy.hitTest(hit))
  96.             {
  97.                if(_root.candy.dir == "left")
  98.                {
  99.                   _root.candy.dir = "right";
  100.                }
  101.                else
  102.                {
  103.                   _root.candy.dir = "left";
  104.                }
  105.                hitSound.start();
  106.                hitSound.start();
  107.                if(health <= 0)
  108.                {
  109.                   die = true;
  110.                }
  111.                else
  112.                {
  113.                   health -= 1;
  114.                   bat = true;
  115.                }
  116.             }
  117.             else if(_root.cm.g.hit.hitTest(hit))
  118.             {
  119.                hitSound.start();
  120.                if(health <= 0)
  121.                {
  122.                   die = true;
  123.                }
  124.                else
  125.                {
  126.                   health -= 1;
  127.                   bat = true;
  128.                }
  129.             }
  130.             else if(_root.cm.g.sparkle.hitTest(hit))
  131.             {
  132.                melt = true;
  133.             }
  134.             if(attacking == false)
  135.             {
  136.                if(_root.cm._x > _X)
  137.                {
  138.                   _xscale = - xscale;
  139.                }
  140.                else if(_root.cm._x < _X)
  141.                {
  142.                   _xscale = xscale;
  143.                }
  144.             }
  145.             if(!bound.hitTest(_root.cm))
  146.             {
  147.                if(attacking == false)
  148.                {
  149.                   running = true;
  150.                   if(_root.cm._x > _X)
  151.                   {
  152.                      if(!_root.bound.hitTest(_X + xTar + addSpeed,_Y - 10,true))
  153.                      {
  154.                         xTar += addSpeed;
  155.                      }
  156.                   }
  157.                   else if(_root.cm._x < _X)
  158.                   {
  159.                      if(!_root.bound.hitTest(_X - xTar - addSpeed,_Y - 10,true))
  160.                      {
  161.                         xTar -= addSpeed;
  162.                      }
  163.                   }
  164.                }
  165.             }
  166.             else
  167.             {
  168.                running = false;
  169.                if(xTar > 0)
  170.                {
  171.                   xTar -= addSpeed;
  172.                }
  173.                else if(xTar < 0)
  174.                {
  175.                   xTar += addSpeed;
  176.                }
  177.                mNum++;
  178.                num = random(60);
  179.                if((num == 1 or mNum == 40) && attacking == false && falling == false && running == false)
  180.                {
  181.                   mNum = 0;
  182.                   attacking = true;
  183.                }
  184.             }
  185.          }
  186.          else
  187.          {
  188.             if(removeNum < 0)
  189.             {
  190.                if(_alpha > 0)
  191.                {
  192.                   _alpha = _alpha - 1;
  193.                }
  194.                else
  195.                {
  196.                   _visible = false;
  197.                }
  198.             }
  199.             else
  200.             {
  201.                removeNum -= 1;
  202.             }
  203.             if(xTar > 0)
  204.             {
  205.                xTar -= addSpeed;
  206.             }
  207.             else if(xTar < 0)
  208.             {
  209.                xTar += addSpeed;
  210.             }
  211.          }
  212.          if(xTar > moveSpeed)
  213.          {
  214.             xTar = moveSpeed;
  215.          }
  216.          else if(xTar < - moveSpeed)
  217.          {
  218.             xTar = - moveSpeed;
  219.          }
  220.          if(_root.bound.hitTest(_X,_Y + 1,true))
  221.          {
  222.             falling = false;
  223.          }
  224.          else
  225.          {
  226.             falling = true;
  227.          }
  228.          if(falling == true)
  229.          {
  230.             grav = 0;
  231.             switched = false;
  232.             i = 0;
  233.             while(i < gravity)
  234.             {
  235.                if(switched == false)
  236.                {
  237.                   if(_root.bound.hitTest(_X,_Y + i,true))
  238.                   {
  239.                      switched = true;
  240.                   }
  241.                   else
  242.                   {
  243.                      grav = i;
  244.                   }
  245.                }
  246.                i++;
  247.             }
  248.             _Y = _Y + i;
  249.             if(gravity < maxGravity)
  250.             {
  251.                gravity += airSpeed;
  252.             }
  253.          }
  254.          else
  255.          {
  256.             gravity = 0;
  257.          }
  258.          while(_root.bound.hitTest(_X,_Y - 0.5,true))
  259.          {
  260.             _Y = _Y - 0.5;
  261.          }
  262.          _X = _X + xTar;
  263.          if((die == true or melt == true) && g._currentframe == g._totalframes)
  264.          {
  265.             g.stop();
  266.          }
  267.          else
  268.          {
  269.             g.play();
  270.          }
  271.       }
  272.       if(_root.cam.hitTest(this))
  273.       {
  274.          active = true;
  275.       }
  276.    }
  277.    else
  278.    {
  279.       stop();
  280.       g.stop();
  281.    }
  282.    getFrame();
  283. };
  284.